// mockAjax借助mock数据再次封装axios

import axios from "axios";
import "nprogress/nprogress.css"; // 引入对应的样式
import NProress from "nprogress";
// 2. 创建axios实例对象
const mockAjax = axios.create({
  // baseURL: "/request", //发送请求时的基础路径。每个用axios实例发的请求路径前面都会加这个baseURL里的配置
  baseURL: '/mock', //发送请求时的基础路径。每个用axios实例发的请求路径前面都会加这个baseURL里的配置
  timeout: 1000, // 设置超时时间
});
// 3. 设置请求拦截器
mockAjax.interceptors.request.use((config) => {
  NProress.start(); // 启用进度条
  return config; //return的值就是利用axios实例发送请求,成功的promise的value值
}),
  // 4. 设置响应拦截器
  mockAjax.interceptors.response.use(
    (response) => {
      NProress.done(); // 结束进度条
      // console.log(response);
      return response.data;
    },
    (error) => {
      NProress.done(); // 结束进度条
      // 如果发送请求出错了,会在这里统一提示错误信息
      // return error.message 如果只写这个是错误的，因为错误信息是字符串的话是非Promise值,也会认为是成功
      // 返回失败的Promise实例  目的是走程序员自己设置的错误信息
      return Promise.reject(new Error(error.message));
    }
  );

export default mockAjax;









